// 引入创建App上下文的方法
import { createApp } from "vue";
// 引入pinia状态数据仓库
import pinia from "./stores";
// 引入组件库
import ElementPlus from "element-plus";
// 引入中文组件库，为了实现国际化
import zhCn from "element-plus/es/locale/lang/zh-cn";
// 引入组件库需要的css样式
import "element-plus/dist/index.css";
// 引入App组件
import App from "./App.vue";
// 引入路由器
import router from "./router";
// 引入全局的css样式
import "./styles/index.scss";
// 引入Element中的svg格式图片的组件
import ElSvg from "./components/SvgIcon/ElSvg";
// 引入并执行一次路由相关的文件
import "./permission";
// 引入按钮鉴权的自定义指令
import has from "./directives/has";
import { vueEcharts } from "./plugins/echarts";
import "./mockServer";
//注册全局组件
import CommonCard from "./views/home/components/CommonCard.vue";
// 创建上下文实例
const app = createApp(App);
app.component(CommonCard.name, CommonCard);
ElSvg(app); //使用svg组件
app
  // 注册pinia
  .use(pinia)
  // 注册路由器
  .use(router)
  // 使用ElementPlus组件库及中文包
  .use(ElementPlus, {
    locale: zhCn,
  })
  //挂载上自定义指令
  .use(has)
  .use(vueEcharts)
  // 挂载根标签
  .mount("#app");
